/*
 * 文件名:Customer.java
 * 创建时间:2010-10-01
 * 版本:2.0
 * 版权所有:杨涛 walle1027@gmail.com
 */
package com.yangtao.wms.domain;

import com.yangtao.framework.hibernate.BaseEntity;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author 代码生成器 v-2.0
 * @version 2.0
 */
@Entity
@Table(name = "WMS_MST_CUSTOMER")
public class Customer extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 客户代码
	 */
	@Column(name = "CODE", length = 20)
	private String code;
	/**
	 * 客户名称
	 */
	@Column(name = "NAME", length = 50)
	private String name;
	/**
	 * 类型
	 */
	@Column(name = "TYPE", length = 20)
	private String type;
	/**
	 * 简称
	 */
	@Column(name = "SPELL", length = 20)
	private String spell;
	/**
	 * 英文名称
	 */
	@Column(name = "ENAME", length = 20)
	private String ename;
	/**
	 * 助记码
	 */
	@Column(name = "HELP_CODE", length = 20)
	private String helpCode;
	/**
	 * 信用等级
	 */
	@Column(name = "CREDIT_LEVEL", length = 20)
	private String creditLevel;
	/**
	 * 最低起配方量
	 */
	@Column(name = "MIN_STOCK", length = 13, scale = 3)
	private BigDecimal minStock;
	/**
	 * 地址
	 */
	@Column(name = "ADDRESS", length = 100)
	private String address;
	/**
	 * 省
	 */
	@Column(name = "PROVICE", length = 20)
	private String provice;
	/**
	 * 市
	 */
	@Column(name = "CITY", length = 20)
	private String city;
	/**
	 * 区
	 */
	@Column(name = "AREA", length = 20)
	private String area;
	/**
	 * 邮编
	 */
	@Column(name = "POSTCODE", length = 10)
	private String postcode;
	/**
	 * 是否出库结算库存费
	 */
	@Column(name = "IS_OUTLOCFEE")
	private Boolean isOutlocfee;
	/**
	 * 单证前缀
	 */
	@Column(name = "MONAD_PREFIX", length = 6)
	private String monadPrefix;
	/**
	 * 入库标签
	 */
	@Column(name = "IN_PREFIX", length = 50)
	private String inPrefix;
	/**
	 * 出库标签
	 */
	@Column(name = "OUT_PREFIX", length = 50)
	private String outPrefix;
	/**
	 * 联系人1
	 */
	@Column(name = "CONTACT1", length = 20)
	private String contact1;
	/**
	 * 电话(总机)
	 */
	@Column(name = "CONTACT_TEL11", length = 20)
	private String contactTel11;
	/**
	 * 电话(直线)
	 */
	@Column(name = "CONTACT_TEL12", length = 20)
	private String contactTel12;
	/**
	 * 手机1
	 */
	@Column(name = "CONTACT_MOBILE1", length = 20)
	private String contactMobile1;
	/**
	 * 电子邮件1
	 */
	@Column(name = "CONTACT_EMAIL1", length = 20)
	private String contactEmail1;
	/**
	 * 传真1
	 */
	@Column(name = "CONTACT_FAX1", length = 20)
	private String contactFax1;
	/**
	 * 联系人2
	 */
	@Column(name = "CONTACT2", length = 20)
	private String contact2;
	/**
	 * 电话(总机)
	 */
	@Column(name = "CONTACT_TEL21", length = 20)
	private String contactTel21;
	/**
	 * 电话(直线)
	 */
	@Column(name = "CONTACT_TEL22", length = 20)
	private String contactTel22;
	/**
	 * 手机2
	 */
	@Column(name = "CONTACT_MOBILE2", length = 20)
	private String contactMobile2;
	/**
	 * 电子邮件2
	 */
	@Column(name = "CONTACT_EMAIL2", length = 20)
	private String contactEmail2;
	/**
	 * 传真2
	 */
	@Column(name = "CONTACT_FAX2", length = 20)
	private String contactFax2;
	/**
	 * 联系人3
	 */
	@Column(name = "CONTACT3", length = 20)
	private String contact3;
	/**
	 * 电话(总机)
	 */
	@Column(name = "CONTACT_TEL31", length = 20)
	private String contactTel31;
	/**
	 * 电话(直线)
	 */
	@Column(name = "CONTACT_TEL32", length = 20)
	private String contactTel32;
	/**
	 * 手机3
	 */
	@Column(name = "CONTACT_MOBILE3", length = 20)
	private String contactMobile3;
	/**
	 * 电子邮件3
	 */
	@Column(name = "CONTACT_EMAIL3", length = 20)
	private String contactEmail3;
	/**
	 * 传真3
	 */
	@Column(name = "CONTACT_FAX3", length = 20)
	private String contactFax3;
	/**
	 * 客户详细信息表
	 */
	@OneToOne(fetch = FetchType.LAZY, mappedBy = "customer")
	@Cascade(CascadeType.ALL)
	private CustomerDetail customerDetail;
	/**
	 * 客户设置信息表
	 */
	@OneToOne(fetch = FetchType.LAZY, mappedBy = "customer")
	@Cascade(CascadeType.ALL)
	private CustomerSetting customerSetting;
	/**
	 * 仓库客户关联表
	 */
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "customer")
	@Cascade(CascadeType.ALL)
	private List<WarehouseCustomer> warehouseCustomer;
	/**
	 * 客户关联表
	 */
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "masterCustomer")
	@Cascade(CascadeType.ALL)
	private List<CustomerRelation> customerRelation;


	/**
	 * 获取  客户代码
	 *
	 * @return code
	 */
	public String getCode() {
		return code;
	}

	/**
	 * 设置 客户代码
	 *
	 * @param code 客户代码
	 */
	public void setCode(String code) {
		this.code = code;
	}

	/**
	 * 获取  客户名称
	 *
	 * @return name
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置 客户名称
	 *
	 * @param name 客户名称
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取  类型
	 *
	 * @return type
	 */
	public String getType() {
		return type;
	}

	/**
	 * 设置 类型
	 *
	 * @param type 类型
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * 获取  简称
	 *
	 * @return spell
	 */
	public String getSpell() {
		return spell;
	}

	/**
	 * 设置 简称
	 *
	 * @param spell 简称
	 */
	public void setSpell(String spell) {
		this.spell = spell;
	}

	/**
	 * 获取  英文名称
	 *
	 * @return ename
	 */
	public String getEname() {
		return ename;
	}

	/**
	 * 设置 英文名称
	 *
	 * @param ename 英文名称
	 */
	public void setEname(String ename) {
		this.ename = ename;
	}

	/**
	 * 获取  助记码
	 *
	 * @return helpCode
	 */
	public String getHelpCode() {
		return helpCode;
	}

	/**
	 * 设置 助记码
	 *
	 * @param helpCode 助记码
	 */
	public void setHelpCode(String helpCode) {
		this.helpCode = helpCode;
	}

	/**
	 * 获取  信用等级
	 *
	 * @return creditLevel
	 */
	public String getCreditLevel() {
		return creditLevel;
	}

	/**
	 * 设置 信用等级
	 *
	 * @param creditLevel 信用等级
	 */
	public void setCreditLevel(String creditLevel) {
		this.creditLevel = creditLevel;
	}

	/**
	 * 获取  最低起配方量
	 *
	 * @return minStock
	 */
	public BigDecimal getMinStock() {
		return minStock;
	}

	/**
	 * 设置 最低起配方量
	 *
	 * @param minStock 最低起配方量
	 */
	public void setMinStock(BigDecimal minStock) {
		this.minStock = minStock;
	}

	/**
	 * 获取  地址
	 *
	 * @return address
	 */
	public String getAddress() {
		return address;
	}

	/**
	 * 设置 地址
	 *
	 * @param address 地址
	 */
	public void setAddress(String address) {
		this.address = address;
	}

	/**
	 * 获取  省
	 *
	 * @return provice
	 */
	public String getProvice() {
		return provice;
	}

	/**
	 * 设置 省
	 *
	 * @param provice 省
	 */
	public void setProvice(String provice) {
		this.provice = provice;
	}

	/**
	 * 获取  市
	 *
	 * @return city
	 */
	public String getCity() {
		return city;
	}

	/**
	 * 设置 市
	 *
	 * @param city 市
	 */
	public void setCity(String city) {
		this.city = city;
	}

	/**
	 * 获取  区
	 *
	 * @return area
	 */
	public String getArea() {
		return area;
	}

	/**
	 * 设置 区
	 *
	 * @param area 区
	 */
	public void setArea(String area) {
		this.area = area;
	}

	/**
	 * 获取  邮编
	 *
	 * @return postcode
	 */
	public String getPostcode() {
		return postcode;
	}

	/**
	 * 设置 邮编
	 *
	 * @param postcode 邮编
	 */
	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	/**
	 * 获取  是否出库结算库存费
	 *
	 * @return isOutlocfee
	 */
	public Boolean getIsOutlocfee() {
		return isOutlocfee;
	}

	/**
	 * 设置 是否出库结算库存费
	 *
	 * @param isOutlocfee 是否出库结算库存费
	 */
	public void setIsOutlocfee(Boolean isOutlocfee) {
		this.isOutlocfee = isOutlocfee;
	}

	/**
	 * 获取  单证前缀
	 *
	 * @return monadPrefix
	 */
	public String getMonadPrefix() {
		return monadPrefix;
	}

	/**
	 * 设置 单证前缀
	 *
	 * @param monadPrefix 单证前缀
	 */
	public void setMonadPrefix(String monadPrefix) {
		this.monadPrefix = monadPrefix;
	}

	/**
	 * 获取  入库标签
	 *
	 * @return inPrefix
	 */
	public String getInPrefix() {
		return inPrefix;
	}

	/**
	 * 设置 入库标签
	 *
	 * @param inPrefix 入库标签
	 */
	public void setInPrefix(String inPrefix) {
		this.inPrefix = inPrefix;
	}

	/**
	 * 获取  出库标签
	 *
	 * @return outPrefix
	 */
	public String getOutPrefix() {
		return outPrefix;
	}

	/**
	 * 设置 出库标签
	 *
	 * @param outPrefix 出库标签
	 */
	public void setOutPrefix(String outPrefix) {
		this.outPrefix = outPrefix;
	}

	/**
	 * 获取  联系人1
	 *
	 * @return contact1
	 */
	public String getContact1() {
		return contact1;
	}

	/**
	 * 设置 联系人1
	 *
	 * @param contact1 联系人1
	 */
	public void setContact1(String contact1) {
		this.contact1 = contact1;
	}

	/**
	 * 获取  电话(总机)
	 *
	 * @return contactTel11
	 */
	public String getContactTel11() {
		return contactTel11;
	}

	/**
	 * 设置 电话(总机)
	 *
	 * @param contactTel11 电话(总机)
	 */
	public void setContactTel11(String contactTel11) {
		this.contactTel11 = contactTel11;
	}

	/**
	 * 获取  电话(直线)
	 *
	 * @return contactTel12
	 */
	public String getContactTel12() {
		return contactTel12;
	}

	/**
	 * 设置 电话(直线)
	 *
	 * @param contactTel12 电话(直线)
	 */
	public void setContactTel12(String contactTel12) {
		this.contactTel12 = contactTel12;
	}

	/**
	 * 获取  手机1
	 *
	 * @return contactMobile1
	 */
	public String getContactMobile1() {
		return contactMobile1;
	}

	/**
	 * 设置 手机1
	 *
	 * @param contactMobile1 手机1
	 */
	public void setContactMobile1(String contactMobile1) {
		this.contactMobile1 = contactMobile1;
	}

	/**
	 * 获取  电子邮件1
	 *
	 * @return contactEmail1
	 */
	public String getContactEmail1() {
		return contactEmail1;
	}

	/**
	 * 设置 电子邮件1
	 *
	 * @param contactEmail1 电子邮件1
	 */
	public void setContactEmail1(String contactEmail1) {
		this.contactEmail1 = contactEmail1;
	}

	/**
	 * 获取  传真1
	 *
	 * @return contactFax1
	 */
	public String getContactFax1() {
		return contactFax1;
	}

	/**
	 * 设置 传真1
	 *
	 * @param contactFax1 传真1
	 */
	public void setContactFax1(String contactFax1) {
		this.contactFax1 = contactFax1;
	}

	/**
	 * 获取  联系人2
	 *
	 * @return contact2
	 */
	public String getContact2() {
		return contact2;
	}

	/**
	 * 设置 联系人2
	 *
	 * @param contact2 联系人2
	 */
	public void setContact2(String contact2) {
		this.contact2 = contact2;
	}

	/**
	 * 获取  电话(总机)
	 *
	 * @return contactTel21
	 */
	public String getContactTel21() {
		return contactTel21;
	}

	/**
	 * 设置 电话(总机)
	 *
	 * @param contactTel21 电话(总机)
	 */
	public void setContactTel21(String contactTel21) {
		this.contactTel21 = contactTel21;
	}

	/**
	 * 获取  电话(直线)
	 *
	 * @return contactTel22
	 */
	public String getContactTel22() {
		return contactTel22;
	}

	/**
	 * 设置 电话(直线)
	 *
	 * @param contactTel22 电话(直线)
	 */
	public void setContactTel22(String contactTel22) {
		this.contactTel22 = contactTel22;
	}

	/**
	 * 获取  手机2
	 *
	 * @return contactMobile2
	 */
	public String getContactMobile2() {
		return contactMobile2;
	}

	/**
	 * 设置 手机2
	 *
	 * @param contactMobile2 手机2
	 */
	public void setContactMobile2(String contactMobile2) {
		this.contactMobile2 = contactMobile2;
	}

	/**
	 * 获取  电子邮件2
	 *
	 * @return contactEmail2
	 */
	public String getContactEmail2() {
		return contactEmail2;
	}

	/**
	 * 设置 电子邮件2
	 *
	 * @param contactEmail2 电子邮件2
	 */
	public void setContactEmail2(String contactEmail2) {
		this.contactEmail2 = contactEmail2;
	}

	/**
	 * 获取  传真2
	 *
	 * @return contactFax2
	 */
	public String getContactFax2() {
		return contactFax2;
	}

	/**
	 * 设置 传真2
	 *
	 * @param contactFax2 传真2
	 */
	public void setContactFax2(String contactFax2) {
		this.contactFax2 = contactFax2;
	}

	/**
	 * 获取  联系人3
	 *
	 * @return contact3
	 */
	public String getContact3() {
		return contact3;
	}

	/**
	 * 设置 联系人3
	 *
	 * @param contact3 联系人3
	 */
	public void setContact3(String contact3) {
		this.contact3 = contact3;
	}

	/**
	 * 获取  电话(总机)
	 *
	 * @return contactTel31
	 */
	public String getContactTel31() {
		return contactTel31;
	}

	/**
	 * 设置 电话(总机)
	 *
	 * @param contactTel31 电话(总机)
	 */
	public void setContactTel31(String contactTel31) {
		this.contactTel31 = contactTel31;
	}

	/**
	 * 获取  电话(直线)
	 *
	 * @return contactTel32
	 */
	public String getContactTel32() {
		return contactTel32;
	}

	/**
	 * 设置 电话(直线)
	 *
	 * @param contactTel32 电话(直线)
	 */
	public void setContactTel32(String contactTel32) {
		this.contactTel32 = contactTel32;
	}

	/**
	 * 获取  手机3
	 *
	 * @return contactMobile3
	 */
	public String getContactMobile3() {
		return contactMobile3;
	}

	/**
	 * 设置 手机3
	 *
	 * @param contactMobile3 手机3
	 */
	public void setContactMobile3(String contactMobile3) {
		this.contactMobile3 = contactMobile3;
	}

	/**
	 * 获取  电子邮件3
	 *
	 * @return contactEmail3
	 */
	public String getContactEmail3() {
		return contactEmail3;
	}

	/**
	 * 设置 电子邮件3
	 *
	 * @param contactEmail3 电子邮件3
	 */
	public void setContactEmail3(String contactEmail3) {
		this.contactEmail3 = contactEmail3;
	}

	/**
	 * 获取  传真3
	 *
	 * @return contactFax3
	 */
	public String getContactFax3() {
		return contactFax3;
	}

	/**
	 * 设置 传真3
	 *
	 * @param contactFax3 传真3
	 */
	public void setContactFax3(String contactFax3) {
		this.contactFax3 = contactFax3;
	}

	/**
	 * 获取 客户详细信息表
	 *
	 * @return customerDetail
	 */
	public CustomerDetail getCustomerDetail() {
		return customerDetail;
	}

	/**
	 * 设置 客户详细信息表
	 *
	 * @param customerDetail 客户详细信息表
	 */
	public void setCustomerDetail(CustomerDetail customerDetail) {
		this.customerDetail = customerDetail;
	}

	/**
	 * 获取 客户设置信息表
	 *
	 * @return customerSetting
	 */
	public CustomerSetting getCustomerSetting() {
		return customerSetting;
	}

	/**
	 * 设置 客户设置信息表
	 *
	 * @param customerSetting 客户设置信息表
	 */
	public void setCustomerSetting(CustomerSetting customerSetting) {
		this.customerSetting = customerSetting;
	}

	/**
	 * 获取 仓库客户关联表
	 *
	 * @return warehouseCustomer
	 */
	public List<WarehouseCustomer> getWarehouseCustomer() {
		return warehouseCustomer;
	}

	/**
	 * 设置 仓库客户关联表
	 *
	 * @param warehouseCustomer 仓库客户关联表
	 */
	public void setWarehouseCustomer(List<WarehouseCustomer> warehouseCustomer) {
		this.warehouseCustomer = warehouseCustomer;
	}

	/**
	 * 获取 客户关联表
	 *
	 * @return customerRelation
	 */
	public List<CustomerRelation> getCustomerRelation() {
		return customerRelation;
	}

	/**
	 * 设置 客户关联表
	 *
	 * @param customerRelation 客户关联表
	 */
	public void setCustomerRelation(List<CustomerRelation> customerRelation) {
		this.customerRelation = customerRelation;
	}


}
